home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Gigarom 1
/
Gigarom Macintosh Archives (Quantum Leap)(CDRM1080320)(1993).iso
/
FILES
/
APP
/
A-D
/
BBEdit 2.2.2.sea
/
BBEdit 2.2.2
/
BBEdit Extensions
/
Sources
/
ExternalInterface.h
< prev
next >
Wrap
Text File
|
1992-09-27
|
2KB
|
71 lines
typedef struct {
short version;
// version 1 callbacks
pascal Handle (*GetWindowContents)(WindowPtr w);
pascal void (*GetSelection)(long *selStart, long *selEnd, long *firstChar);
pascal void (*SetSelection)(long selStart, long selEnd, long firstChar);
pascal void (*GetDocInfo)(WindowPtr w, Str255 fName, short *vRefNum, long *dirID);
pascal long (*GetModDate)(WindowPtr w);
pascal Handle (*Copy)(void);
pascal Handle (*Paste)(Handle pasteText);
// version 2 callbacks
/* Text-Editing stuff */
pascal long (*GetLastLine)(void);
pascal long (*GetLineNumber)(long selection);
pascal long (*GetLineStart)(long selection);
pascal long (*GetLineEnd)(long selection);
pascal long (*GetLinePos)(long line);
pascal void (*Insert)(char *text, long len);
pascal void (*Delete)(void);
/* Getting and Setting window text */
pascal void (*SetWindowContents)(WindowPtr w, Handle h);
pascal void (*ContentsChanged)(WindowPtr w);
/* Reading file text */
pascal Handle (*GetFileText)(short vRefNum, long dirID, Str255 fName, Boolean *canDispose);
/* Direct user-interface calls */
pascal Boolean (*GetFolder)(Str255 prompt, short *vRefNum, long *dirID);
pascal Boolean (*OpenSeveral)(Boolean sort, short *file_count, StandardFileReply ***files);
pascal DialogPtr (*CenterDialog)(short dialogID);
pascal Boolean (*StandardFilter)(DialogPtr d, EventRecord *event, short *item);
pascal void (*FrameDialogItem)(DialogPtr d, short item);
pascal WindowPtr (*NewDocument)(void);
pascal WindowPtr (*OpenDocument)(void);
/* Utility Routines */
pascal Handle (*Allocate)(long size, Boolean clear);
pascal long (*FindPattern)(char *text, long text_len, long text_offset,
char *pat, long pat_len,
Boolean case_sensitive);
pascal void (*ReportOSError)(short code);
/* Preference routines */
pascal void (*GetPreference)(ResType prefType, short req_len, void *buffer, short *act_len);
pascal void (*SetPreference)(ResType prefType, short req_len, void *buffer, short *act_len);
/* Progress routines */
pascal void (*StartProgress)(Str255 str, long total, Boolean cancel_allowed);
pascal Boolean (*DoProgress)(long done);
pascal void (*DoneProgress)(void);
} ExternalCallbackBlock;
/*
'main' for a BBXT is declared:
pascal void main(ExternalCallbackBlock *callbacks, WindowPtr w); [C]
PROCEDURE Main(callbacks : ExternalCallbackBlock; w : WindowPtr); [Pascal]
*/